home *** CD-ROM | disk | FTP | other *** search
/ Network Support Library / RoseWare - Network Support Library.iso / apidev / shotbl.arc / SCREEN.ASM < prev    next >
Assembly Source File  |  1988-11-18  |  2KB  |  173 lines

  1. ;*****************************************************************************
  2. ;*
  3. ;* Program Name:  SCREEN/CURSOR CONTROL ROUTINES
  4. ;*
  5. ;* Filename:      screen.asm
  6. ;*
  7. ;* Date Created:  November 18, 1988
  8. ;*
  9. ;* Version:      1.0
  10. ;*
  11. ;* Programmers:      Thomas Brough
  12. ;*
  13. ;* Files used:
  14. ;*
  15. ;* Date Modified: 
  16. ;*
  17. ;* Modifications: 
  18. ;*
  19. ;* Comments:
  20. ;*
  21. ;*****************************************************************************
  22.  
  23.  
  24. DGroup    GROUP    _DATA
  25. _DATA    segment word public 'DATA'
  26.     assume    ds:DGroup
  27. _DATA    ends
  28.  
  29. PGroup    GROUP    _TEXT
  30.     assume cs:PGroup
  31.  
  32. _TEXT    segment public 'CODE'
  33.  
  34.     public    _ClearScreen
  35.     public    _ColorScreen
  36.     public    _SetCursorPosition
  37.     public    _GetCursorPosition
  38.  
  39. ; ColorScreen( unsigned int attr);
  40. ;
  41. ; Input:    None.
  42. ;
  43. ; Output:   None.
  44. ;
  45. ; Comments:
  46. ;   This routine clears the screen.
  47. _ColorScreen    proc    near
  48.     push    bp
  49.     mov    bp, sp
  50.  
  51.     push    ax
  52.     push    bx
  53.     push    cx
  54.     push    dx
  55.  
  56.     xor    ax, ax
  57.     mov    ax, [bp + 4]
  58.     mov    bh, al
  59.     xor    al, al
  60.     xor    cx, cx
  61.     mov    dh, 23
  62.     mov    dl, 79
  63.     mov    ah, 7
  64.     int    10h
  65.  
  66.     pop    dx
  67.     pop    cx
  68.     pop    bx
  69.     pop    ax
  70.     pop    bp
  71.  
  72.     ret
  73. _ColorScreen    endp
  74. ;
  75. ; ClearScreen();
  76. ;
  77. ; Input:    None.
  78. ;
  79. ; Output:   None.
  80. ;
  81. ; Comments:
  82. ;   This routine clears the screen.
  83. _ClearScreen    proc    near
  84.     push    bp
  85.     mov    bp, sp
  86.  
  87.     push    ax
  88.     push    bx
  89.     push    cx
  90.     push    dx
  91.  
  92.     xor    al, al
  93.     xor    cx, cx
  94.     mov    dh, 24
  95.     mov    dl, 79
  96.     mov    ah, 7
  97.     mov    bh, 7
  98.     int    10h
  99.  
  100.     xor    dx, dx
  101.     xor    bh, bh
  102.     mov    ah, 2
  103.     int    10h
  104.     
  105.     pop    dx
  106.     pop    cx
  107.     pop    bx
  108.     pop    ax
  109.     pop    bp
  110.  
  111.     ret
  112. _ClearScreen    endp
  113.  
  114.  
  115. ;*     SetCursorPosition( row, column )                             
  116. ;*
  117. ;*     Input:    int row, column;
  118. ;*
  119. _SetCursorPosition    proc    near
  120.     push    bp
  121.     mov    bp, sp
  122.     push    ax
  123.     push    bx
  124.     push    cx
  125.     push    dx
  126.     mov    dh, [bp+4];
  127.     mov    dl, [bp+6];
  128.     xor    bh, bh
  129.     mov    ah, 2
  130.     int 10h
  131.     pop    dx
  132.     pop    cx
  133.     pop    bx
  134.     pop    ax
  135.     pop    bp
  136.     ret    
  137. _SetCursorPosition    endp
  138.  
  139. ;*    GetCursorPosition( row, col )
  140. ;*
  141. ;*    Input:    int  *row, *col;
  142. _GetCursorPosition    proc    near
  143.     push    bp
  144.     mov    bp, sp
  145.     push    ax
  146.     push    bx
  147.     push    cx
  148.     push    dx
  149.     mov    ah, 03
  150.     xor    bx, bx
  151.     int     10h
  152.     mov    si, [bp + 4]
  153.     xor    cx, cx
  154.     mov    cl, dh
  155.     mov    word ptr [si], cx
  156.     mov    si, [bp+6]
  157.     xor    cx, cx
  158.     mov    cl, dl
  159.     mov    word ptr [si], cx
  160.     pop    dx
  161.     pop    cx
  162.     pop    bx
  163.     pop    ax
  164.     pop    bp
  165.     ret    
  166. _GetCursorPosition    endp
  167.  
  168. _TEXT    ends
  169.     END
  170.  
  171.  
  172.  
  173.